System and method for managing semantic and syntactic metadata

ABSTRACT

A method for managing semantic and syntactic metadata. The method begins with receiving heterogeneous data from either a machine or a human. Next, the method captures the semantic metadata corresponding to the received heterogeneous data by means of a semantic template. Next, the method captures the syntactic metadata corresponding to the received heterogeneous data by means of a syntactic template. After capturing the semantic and syntactic metadata, the method logically links the received heterogeneous data with the captured semantic and syntactic metadata. Finally, the method stores the received heterogeneous data in a repository.

BACKGROUND OF THE INVENTION

The present invention relates generally to data management, and more particularly to identifying and storing semantic and syntactic metadata to better organize highly dimensional heterogeneous data.

Conventionally information technology is about deriving insight and knowledge through collaboration among multidisciplinary researchers for modeling, clustering, analyzing, and mining of multidimensional data from various sources in an efficient manner.

One major challenge is accessibility to highly dimensional (e.g. numeric, string, binary, rectangular, graphic, audio, or video), heterogeneous (semantic and syntactic, data management systems such as flat files, binary, or character objects, relational data) and dispersed data. It becomes a bigger challenge and hindrance when multidisciplinary collaborators wish to worth together across institutional boundaries, due to absence of data standards to describe the semantic properties of data entities as well as a lack of data standards to describe the syntactic aspect of the data entries.

In addition, heterogeneous highly dimensional data is generated very rapidly. In order to keep pace with the newly generated data sets, a new approach, model, and system are required as the traditional model and system cannot be sustained.

SUMMARY OF THE INVENTION

The present invention provides a method for managing semantic and syntactic metadata, said method comprising:

receiving heterogeneous data;

after said receiving, capturing semantic metadata associated with said received heterogeneous data;

after said receiving, capturing syntactic metadata associated with said received heterogeneous data;

logically linking said received heterogeneous data and said captured semantic metadata and said syntactic metadata; and

storing said heterogeneous data in a repository.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A and FIG. 1B (collectively referred to as FIG. 1) illustrates a method for managing semantic and syntactic metadata, in accordance with embodiments of the present invention.

FIG. 2 illustrates a computer system which may facilitate a method for managing semantic and syntactic metadata, in accordance with embodiments of the present invention.

DETAILED DESCRIPTION OF THE DRAWINGS Definitions

The term ‘semantic metadata’ as used herein refers to data that describes contextually relevant or domain-specific information about data (in the right context) based on an industry-specific or enterprise-specific metadata model or ontology.

The term ‘syntactic metadata’ as used herein refers to the grammatical rules and structural patterns governing the ordered use of appropriate formats and arrangement pertaining to data.

Specification

Although certain embodiments of the present invention are described herein, it is understood that modifications may be made to the present invention without departing from its course and scope. Scope of the present invention is not limited to the number of constituting components, the materials thereof, the shapes thereof, the relative arrangement thereof, etc. Furthermore, while the accompanying drawings illustrate certain embodiments of the present invention, such drawings are not necessarily depicted to scale.

FIG. 1A and FIG. 1B (collectively referred to as FIG. 1) illustrates a method 100 for managing semantic and syntactic metadata, in accordance with embodiments of the present invention. The method 100 begins with step 102 which comprises determining whether the data received was machine generated.

Step 102 comprises determining whether the data received was machine generated. Machine generated data includes all data from any source, so long as the source is not a human. If the data source is a machine, either mechanical and/or digital, step 102 returns a response of ‘yes’ and the method 100 continues with step 106 which determining whether the semantic metadata resides in a library.

However, if the data source is not a machine (i.e. human generated), step 102 returns a response of ‘no’ and the method 100 continues with step 104 which comprises capturing the semantic data attributes and values.

In one embodiment of the present invention, step 102 identifies the source from which the data is being sent. For example, if step 102 identifies the source sending the data to be a Magnetic Resonance Imaging (MRI) machine, step 102 can conclude the source is a machine and return a response of ‘yes’. However, if step 102 identifies the source sending the data to be an end user, step 102 will return a response of ‘no’.

In an alternative embodiment of the present invention, step 102 will review the data itself to identify whether the data was machine generated. Reviewing the data may includes, inter alia, determining the data file extension(s), comparing the data file size with information stored in a library, review the data file contents, etc.

Step 104 comprises capturing the semantic data attributes and values. In one embodiment of the present invention, step 104 sends at least one question to an end user regarding the semantics of the data received prior to step 102. The end user may be, inter alia, the person who generated the data received prior to step 102, the person most knowledgeable with respect to the data received prior to step 102, a person of ordinary skill in the art corresponding to the data received prior to step 102, etc. The responses provided by the end user comprise the semantic data attributes and values corresponding to the data received prior to step 102. After completion of step 104, the method 100 continues with step 114 which comprises determining whether the data contains a standardized syntax.

Step 106 comprises determining whether the semantic metadata resides in a library. In one embodiment of the present invention, step 106 utilizes a library comprising both semantic and syntax templates. Step 106 searches the library for a semantic template comprising the semantic metadata residing in the data received prior to step 102. The semantic metadata residing in the data received prior to step 102 may contain an unique identifier to a specific template and step 102 therein would search the library for a semantic template sharing the same unique identifier.

In an alternative embodiment of the present invention, step 106 searches the library for templates corresponding to the device which generated the data received prior to step 102. After identifying templates corresponding to the device generating the received data, step 106 compares the template metadata to that of the received data's metadata.

If step 106 identifies a semantic template residing in the library matching the semantic metadata residing in the data received prior to step 102, then step 106 returns a response of ‘yes’ and the method 100 continues with step 108 which comprises retrieving the identified semantic metadata template from the library.

However, step 106 does not identify a semantic template residing in the library matching the semantic metadata residing in the data received prior to step 102, then step 106 returns a response of ‘no’ and the method 100 continues with step 110 which comprises capturing the semantic data attributes and values.

Step 108 comprises retrieving the identified semantic metadata template from the library. After completion of step 108, the method 100 continues with step 114 which comprises determining whether the data contains a standardized syntax.

Step 110 comprises capturing the semantic data attributes and values. Step 110 is performed identically to that of step 104, supra. After completion of step 110, the method 100 continues with step 112 which comprises publishing the semantic metadata in the library.

Step 112 comprises publishing the semantic metadata in the library. The semantic metadata attributes received pursuant to step 110 is stored as a metadata template in the library. After completion of step 112, the method 100 continues with step 114 which comprises determining whether the data contains a standardized syntax.

Step 114 comprises determining whether the data contains a standardized syntax. In one embodiment of the present invention, step 114 reviews the data received prior to step 102. The data, if produced according to a published standard syntactically, will contain metadata identifying the template to which the data corresponds. Therefore step 114 will compare the syntax metadata identifier in the data received prior to step 102 with the syntax templates residing in the library.

If step 114 identifying a syntax template residing in the library matching the syntax metadata identifier in the data, step 112 returns a response of ‘yes’ and the method 100 continues with step 122 which comprises retrieving the identified syntax template from the library.

However, if step 114 does not identify a syntax template residing in the library matching the syntax metadata identifier in the data, step 112 returns a response of ‘no’ and the method 100 continues with step 116 which comprises creating a syntax template.

Step 116 which comprises creating a syntax template. In one embodiment of the present invention, step 116 sends at least one question to an end user regarding the syntax of the data received prior to step 102. The end user may be, inter alia, the person who generated the data received prior to step 102, the person most knowledgeable with respect to the data received prior to step 102, a person of ordinary skill in the art corresponding to the data received prior to step 102, etc. The responses provided by the end user comprises the syntax information for the data received prior to step 102. After completion of step 116, the method 100 continues with step 118 which comprises publishing the syntax template to the library.

Step 118 comprises publishing the syntax template to the library. The syntax metadata information received pursuant to step 116 is stored as a syntax template in the library. After completion of step 118, the method 100 continues with step 120 which comprises generating a data parser corresponding to the syntax template stored pursuant to step 118.

Step 120 comprises generating a data parser corresponding to the syntax template stored pursuant to step 118. Step 120 creates parsing software capable of allowing an end user and/or another application the ability to access the data received prior to step 102 without prior knowledge of the data's format. The parsing software will be generated by step 120 pursuant to the syntax template created and published according to steps 116 and 118. After completion of step 120, the method continues with step 126 which comprises capturing the data attributes and values.

Step 122 comprises retrieving the identified syntax template from the library. Step 122 is invoked in response to the method 100 having determined that the data received prior to step 102 contains a standardized syntax. The standardized syntax of the data corresponds to a syntax template residing in the library. Step 122 retrieves from the library the syntax template matching the syntax of the data received prior to step 102. After completion of step 122, the method 100 continues with step 124 which comprises instantiating a data parser corresponding to the syntax template retrieved pursuant to step 122.

Step 124 comprises instantiating a data parser corresponding to the syntax template retrieved pursuant to step 122. The data parser allows an end user and/or another application the ability to access the data received prior to step 102 without prior knowledge of the data's format. Each syntax template residing in the library also corresponds to a unique data parser. Therefore, since the syntax for the data received is standardized and a syntax template resides in the library, so too does the data parser. Once the data parser is retrieved from the library step 124 ends and the method 100 continues with step 126 which comprises capturing the data attributes and values.

Step 126 comprises capturing the data attributes and values. Step 126 stores the data received prior to step 102 in a repository, the repository comprising datum from a multitude of sources. After storing all the data received prior to step 102, the method 100 continues with step 128 which comprises logically linking semantic metadata, the actual data, and the data parsers.

Step 128 comprises logically linking semantic metadata, the actual data, and the data parsers. In one embodiment of the present invention, step 128 creates a self-describing file by logically linking the semantic metadata, syntactic data format, and corresponding data parsers with the data residing in the repository. In an alternative embodiment of the present invention, the self-describing file is created by means of a pointer to each of the semantic metadata, syntactic metadata, and the data received prior to step 102.

In another alternative embodiment of the present invention, an entirely new file is created for the self-describing file, the new file containing the extracted semantic metadata, extracted syntactic metadata, as well as the actual data received prior to step 102. After completion of step 128, the method 100 ends.

FIG. 2 illustrates a computer system 900 which may facilitate a method for managing semantic and syntactic metadata, in accordance with embodiments of the present invention.

The computer system 900 comprises a processor 908, an input device 906 coupled to the processor 908, an output device 910 coupled to the processor 908, and memory devices 902 and 912 each coupled to the processor 908.

The input device 906 may be, inter alia, a keyboard, a mouse, a keypad, a touchscreen, a voice recognition device, a sensor, a network interface card (NIC), a Voice/video over Internet Protocol (VOIP) adapter, a wireless adapter, a telephone adapter, a dedicated circuit adapter, etc.

The output device 910 may be, inter alia, a printer, a plotter, a computer screen, a magnetic tape, a removable hard disk, a floppy disk, a NIC, a VOIP adapter, a wireless adapter, a telephone adapter, a dedicated circuit adapter, an audio and/or visual signal generator, a light emitting diode (LED), etc.

The memory devices 902 and 912 may be, inter alia, a cache, a dynamic random access memory (DRAM), a read-only memory (ROM), a hard disk, a floppy disk, a magnetic tape, an optical storage such as a compact disc (CD) or a digital video disc (DVD), etc. The memory device 912 includes a computer code 914 which is a computer program that comprises computer-executable instructions.

The computer code 914 includes, inter alia, an algorithm used for managing semantic and syntactic metadata according to the present invention. The processor 908 executes the computer code 914. The memory device 902 includes input data 904. The input data 904 includes input required by the computer code 914. The output device 910 displays output from the computer code 914. Either or both memory devices 902 and 912 (or one or more additional memory devices not shown in FIG. 2) may be used as a computer usable medium (or a computer readable medium or a program storage device) having a computer readable program embodied therein and/or having other data stored therein, wherein the computer readable program comprises the computer code 914. Generally, a computer program product (or, alternatively, an article of manufacture) of the computer system 900 may comprise said computer usable medium (or said program storage device).

Any of the components of the present invention can be deployed, managed, serviced, etc. by a service provider that offers to deploy or integrate computing infrastructure with respect to a process for managing semantic and syntactic metadata. Thus, the present invention discloses a process for supporting computer infrastructure, comprising integrating, hosting, maintaining and deploying computer-readable code into a computing system (e.g., computing system 900), wherein the code in combination with the computing system is capable of performing a method for managing semantic and syntactic metadata.

In another embodiment, the invention provides a business method that performs the process steps of the invention on a subscription, advertising and/or fee basis. That is, a service provider, such as a Solution Integrator, can offer to create, maintain, support, etc. a process for managing semantic and syntactic metadata. In this case, the service provider can create, maintain, support, etc. a computer infrastructure that performs the process steps of the invention for one or more customers. In return, the service provider can receive payment from the customer(s) under a subscription and/or fee agreement, and/or the service provider can receive payment from the sale of advertising content to one or more third parties.

While FIG. 2 shows the computer system 900 as a particular configuration of hardware and software, any configuration of hardware and software, as would be known to a person of ordinary skill in the art, may be utilized for the purposes stated supra in conjunction with the particular computer system 900 of FIG. 2. For example, the memory devices 902 and 912 may be portions of a single memory device rather than separate memory devices.

While particular embodiments of the present invention have been described herein for purposes of illustration, many modifications and changes will become apparent to those skilled in the art. Accordingly, the appended claims are intended to encompass all such modifications and changes as fall within the true spirit and scope of this invention. 

1. A method for managing semantic and syntactic metadata, said method comprising: a processor of a computer system receiving heterogeneous data; after said receiving, said processor capturing semantic metadata associated with said received heterogeneous data; after said receiving, said processor capturing syntactic metadata associated with said received heterogeneous data; said processor logically linking said received heterogeneous data and said captured semantic metadata and said syntactic metadata; and said processor storing said heterogeneous data in a repository, said capturing said semantic metadata comprising: determining whether said received heterogeneous data utilizes a standardized syntax; if having determined that said received heterogeneous data utilizes the standardized syntax, then retrieving from a library a syntactic metadata template corresponding to said syntactic metadata associated with said received heterogeneous data; if having determined that said received heterogeneous data does not utilize the standardized syntax, then receiving at least one syntax response from an end user, each response of said at least one syntax response corresponding to a unique question of at least one syntax question to sent to the end user, each question of said at least one syntax question relating to syntactic attributes of said received heterogeneous data and storing in said library said at least one response as a unique syntactic metadata template; initiating a data parser to capture both said semantic metadata associated and said syntactic metadata associated with said received heterogeneous data, said capturing utilizing both said semantic metadata template and said syntactic metadata template.
 2. The method of claim 1, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was not generated by a machine; after having determined that said received heterogeneous data was not generated by the machine, sending one or more questions to said end user, each question of said one or more questions relating to semantic attributes of said received heterogeneous data; and receiving at least one response from said end user, each response of said at least one response corresponding to a unique question of said one or more questions.
 3. The method of claim 1, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was generated by a machine; after having determined that said received heterogeneous data was generated by the machine, determining that said semantic metadata associated with said received heterogeneous data does not reside in said library, said library comprising at least one semantic metadata template; after having determined that said semantic metadata associated with said received heterogeneous data does not reside in said library, sending one or more questions to said end user, each question of said one or more questions relating to semantic attributes of said received heterogeneous data; receiving at least one response from said end user, each response of said at least one response corresponding to a unique question of said one or more questions; and storing in said library said at least one response as a unique semantic metadata template.
 4. The method of claim 1, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was generated by a machine; after having determined that said received heterogeneous data was generated by the machine, determining that said semantic metadata associated with said received heterogeneous data resides in said library, said library comprising at least one semantic metadata template; and after having determined that said semantic metadata associated with said received heterogeneous data resides in said library, retrieving from said library a semantic metadata template corresponding to said semantic metadata associated with said received heterogeneous data.
 5. A computer program product, comprising a computer-readable storage device having a computer-readable program code stored therein, said computer-readable program code containing instructions that when executed by a processor of a computer system implement a method for managing semantic and syntactic metadata, said method comprising: said processor receiving heterogeneous data; after said receiving, said processor capturing semantic metadata associated with said received heterogeneous data; after said receiving, said processor capturing syntactic metadata associated with said received heterogeneous data; said processor logically linking said received heterogeneous data and said captured semantic metadata and said syntactic metadata; and said processor storing said heterogeneous data in a repository, said capturing said semantic metadata comprising: determining whether said received heterogeneous data utilizes a standardized syntax; if having determined that said received heterogeneous data utilizes the standardized syntax, then retrieving from a library a syntactic metadata template corresponding to said syntactic metadata associated with said received heterogeneous data; if having determined that said received heterogeneous data does not utilize the standardized syntax, then receiving at least one syntax response from an end user, each response of said at least one syntax response corresponding to a unique question of at least one syntax question to sent to the end user, each question of said at least one syntax question relating to syntactic attributes of said received heterogeneous data and storing in said library said at least one response as a unique syntactic metadata template; initiating a data parser to capture both said semantic metadata associated and said syntactic metadata associated with said received heterogeneous data, said capturing utilizing both said semantic metadata template and said syntactic metadata template.
 6. The computer program product of claim 5, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was not generated by a machine; after having determined that said received heterogeneous data was not generated by the machine, sending one or more questions to said end user, each question of said one or more questions relating to semantic attributes of said received heterogeneous data; and receiving at least one response from said end user, each response of said at least one response corresponding to a unique question of said one or more questions.
 7. The computer program product of claim 5, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was generated by a machine; after having determined that said received heterogeneous data was generated by the machine, determining that said semantic metadata associated with said received heterogeneous data does not reside in said library, said library comprising at least one semantic metadata template; after having determined that said semantic metadata associated with said received heterogeneous data does not reside in said library, sending one or more questions to said end user, each question of said one or more questions relating to semantic attributes of said received heterogeneous data; receiving at least one response from said end user, each response of said at least one response corresponding to a unique question of said one or more questions; and storing in said library said at least one response as a unique semantic metadata template.
 8. The computer program product of claim 5, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was generated by a machine; after having determined that said received heterogeneous data was generated by the machine, determining that said semantic metadata associated with said received heterogeneous data resides in said library, said library comprising at least one semantic metadata template; and after having determined that said semantic metadata associated with said received heterogeneous data resides in said library, retrieving from said library a semantic metadata template corresponding to said semantic metadata associated with said received heterogeneous data.
 9. A computing system comprising a processor coupled to a computer-readable memory device, said memory device comprising a software application, said software application comprising instruction that when executed by said processor, implement a method for managing semantic and syntactic metadata, said method comprising: said processor receiving heterogeneous data; after said receiving, said processor capturing semantic metadata associated with said received heterogeneous data; after said receiving, said processor capturing syntactic metadata associated with said received heterogeneous data; said processor logically linking said received heterogeneous data and said captured semantic metadata and said syntactic metadata; and said processor storing said heterogeneous data in a repository, said capturing said semantic metadata comprising: determining whether said received heterogeneous data utilizes a standardized syntax; if having determined that said received heterogeneous data utilizes the standardized syntax, then retrieving from a library a syntactic metadata template corresponding to said syntactic metadata associated with said received heterogeneous data; if having determined that said received heterogeneous data does not utilize the standardized syntax, then receiving at least one syntax response from an end user, each response of said at least one syntax response corresponding to a unique question of at least one syntax question to sent to the end user, each question of said at least one syntax question relating to syntactic attributes of said received heterogeneous data and storing in said library said at least one response as a unique syntactic metadata template; initiating a data parser to capture both said semantic metadata associated and said syntactic metadata associated with said received heterogeneous data, said capturing utilizing both said semantic metadata template and said syntactic metadata template.
 10. The computing system of claim 9, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was not generated by a machine; after having determined that said received heterogeneous data was not generated by the machine, sending one or more questions to said end user, each question of said one or more questions relating to semantic attributes of said received heterogeneous data; and receiving at least one response from said end user, each response of said at least one response corresponding to a unique question of said one or more questions.
 11. The computing system of claim 9, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was generated by a machine; after having determined that said received heterogeneous data was generated by the machine, determining that said semantic metadata associated with said received heterogeneous data does not reside in said library, said library comprising at least one semantic metadata template; after having determined that said semantic metadata associated with said received heterogeneous data does not reside in said library, sending one or more questions to said end user, each question of said one or more questions relating to semantic attributes of said received heterogeneous data; receiving at least one response from said end user, each response of said at least one response corresponding to a unique question of said one or more questions; and storing in said library said at least one response as a unique semantic metadata template.
 12. The computing system of claim 9, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was generated by a machine; after having determined that said received heterogeneous data was generated by the machine, determining that said semantic metadata associated with said received heterogeneous data resides in said library, said library comprising at least one semantic metadata template; and after having determined that said semantic metadata associated with said received heterogeneous data resides in said library, retrieving from said library a semantic metadata template corresponding to said semantic metadata associated with said received heterogeneous data.
 13. A process for supporting computer infrastructure, said process comprising providing at least one support service for at least one of creating, integrating, hosting, maintaining, and deploying computer-readable code in a computing system, wherein said code in combination with the computing system is capable of implementing a method for managing semantic and syntactic metadata, said method comprising: a processor of the computing system receiving heterogeneous data; after said receiving, said processor capturing semantic metadata associated with said received heterogeneous data; after said receiving, said processor capturing syntactic metadata associated with said received heterogeneous data; said processor logically linking said received heterogeneous data and said captured semantic metadata and said syntactic metadata; and said processor storing said heterogeneous data in a repository, said capturing said semantic metadata comprising: determining whether said received heterogeneous data utilizes a standardized syntax; if having determined that said received heterogeneous data utilizes the standardized syntax, then retrieving from a library a syntactic metadata template corresponding to said syntactic metadata associated with said received heterogeneous data; if having determined that said received heterogeneous data does not utilize the standardized syntax, then receiving at least one syntax response from an end user, each response of said at least one syntax response corresponding to a unique question of at least one syntax question to sent to the end user, each question of said at least one syntax question relating to syntactic attributes of said received heterogeneous data and storing in said library said at least one response as a unique syntactic metadata template; initiating a data parser to capture both said semantic metadata associated and said syntactic metadata associated with said received heterogeneous data, said capturing utilizing both said semantic metadata template and said syntactic metadata template.
 14. The process for supporting computer infrastructure of claim 13, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was not generated by a machine; after having determined that said received heterogeneous data was not generated by the machine, sending one or more questions to said end user, each question of said one or more questions relating to semantic attributes of said received heterogeneous data; and receiving at least one response from said end user, each response of said at least one response corresponding to a unique question of said one or more questions.
 15. The process for supporting computer infrastructure of claim 13, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was generated by a machine; after having determined that said received heterogeneous data was generated by the machine, determining that said semantic metadata associated with said received heterogeneous data does not reside in said library, said library comprising at least one semantic metadata template; after having determined that said semantic metadata associated with said received heterogeneous data does not reside in said library, sending one or more questions to said end user, each question of said one or more questions relating to semantic attributes of said received heterogeneous data; receiving at least one response from said end user, each response of said at least one response corresponding to a unique question of said one or more questions; and storing in said library said at least one response as a unique semantic metadata template.
 16. The process for supporting computer infrastructure of claim 13, said capturing said semantic metadata comprising prior to having determined whether said received heterogeneous data utilizes the standardized syntax: determining that said received heterogeneous data was generated by a machine; after having determined that said received heterogeneous data was generated by the machine, determining that said semantic metadata associated with said received heterogeneous data resides in said library, said library comprising at least one semantic metadata template; and after having determined that said semantic metadata associated with said received heterogeneous data resides in said library, retrieving from said library a semantic metadata template corresponding to said semantic metadata associated with said received heterogeneous data. 